24-9 洏 wsInetTools.dll

我們也可以經由各種元件來加強 WSH 的功能。例如,我們可以下載 wsInetTools.dll,這是一個使用 C++ 開發的元件,主要有下列三項功能: 有關於 wsInetTools 的相關資訊,可有下列網頁得到:
http://www.winscripter.com/Downloads/default.aspx
由以上網站,你就可以下載相關的 zip 檔案(或由 .../wsh/download/wsInetTools03B.zip取得近端備份),解開以後,就可以看到 wsInetTools.ll 及相關的範例及說明。相關的說明,可見下載後的 index.htm:

Example(../download/wsInetTools03B/index.html):

要使用此元件之前,必須先將此元件登錄於系統之中,可以分成兩步驟:

  1. 將 wsInetTools.dll 拷貝到 c:\windows\system32\ 之下。
  2. 點選「開始/執行」,然後輸入「regsvr32 wsInetTools.dll」,按下「確定」,就完成了元件登錄的動作。
完成上述步驟後,就可以開始使用 wsInetTools.dll。以下使用幾個範例來說明此元件的功能。首先,下列這個範例是可以直接抓取 HTML 網頁:

原始檔(wsInetTools/getWebPage01.js):(灰色區域按兩下即可拷貝)
// 使用 wsInetTools.dll 抓取 HTML 檔案。
web  = new ActiveXObject("wsInetTools.HTTP");	// 取得 COM 物件
url = "http://www.cs.nthu.edu.tw";		// 欲下載之網頁
contents = web.GetWebPage(url);			// 開始下載網頁
WScript.Echo("下載「"+url+"」成功!檔案內容如下:");
WScript.Echo(contents);				// 顯示網頁內容

若要抓取二進制檔案,例如一個 Midi 格式的檔案,可見下列範例:

原始檔(wsInetTools/getBinary01.js):(灰色區域按兩下即可拷貝)
// 抓取 binary 檔案,例如 MIDI 或 MP3 檔案等。
web = new ActiveXObject( "wsInetTools.HTTP" );		// 取得 COM 物件
// 定義遠端及本機檔案
remoteFile = "http://neural.cs.nthu.edu.tw/jang/books/JavaScript/example/music/tomorrow.mid";	// 遠端檔案
localFile  = "tomorrow.mid";				// 本機檔案
web.GetBinary(remoteFile, localFile);			// 開始下載
WScript.Echo("下載「"+remoteFile+"」成功!");
WScript.Echo("存成近端檔案:「"+localFile+"」!");

若要寄發郵件,可見下列範例:

原始檔(wsInetTools/sendMail01.js):(灰色區域按兩下即可拷貝)
// 使用 wsInetTools.dll 寄送電子郵件。
mail = new ActiveXObject("wsInetTools.SMTP");	// 取得 COM 物件 
mail.MailServer = "wayne.cs.nthu.edu.tw";	// 設定郵件伺服器
// 設定郵件各種性質       
from    = "jang@wayne.cs.nthu.edu.tw";		// 發信人
to      = "jang@cs.nthu.edu.tw";		// 收信人
subject = "Testing wsInetTools";		// 主題
body    = "This is just a test message.\r\n Please ignore it.\r\n\r\nRoger Jang";	// 內文    
mail.SendMail(from, to, subject, body);		// 開始寄發郵件
WScript.Echo("寄送郵件成功!");

利用此元件,我們也可以在 ASP 的程式碼裡面寄送郵件。


JScript 程式設計與應用:用於單機的 WSH 環境